1888/precision handling - #2065
Conversation
e73b43c to
ea2b468
Compare
8e4015d to
55551dd
Compare
ea2b468 to
01e46b2
Compare
01e46b2 to
9ef2419
Compare
55551dd to
560109c
Compare
560109c to
ebe527a
Compare
9ef2419 to
00348a0
Compare
|
could you elaborate more on the precision? |
Yes, that's mostly the goal. It essentially allows the
These two are the outliers we currently have. Here speaking of precision of the operator doesn't make much sense. I think rather it's about the vector precision the operator can be applied to.
I think you are right. In the current usages, we have the compile type available (except the generic linop advanced apply, which could be moved back to each class). |
This PR adds runtime precision handling to LinOp. A new enum is created to provide the precision at runtime. The precision enum has values for all supported value types (depending on the cmake configuration). Additionally, it has the two values
noneandany.noneis used to denote missing precision information or an invalid state. Theanyvalue can be used for mixed-precision applications.The precision is stored in the
LinOpclass. Each existing linop sets the correct precision. There are helper variables to map a compile time type to a runtime enum value.The opposite map is available by creating a variant from the enum.